package com.wjm.api.ThreadPackage;

/**
 * Data:2022年07月25日
 * Author:wjm
 * Content: 通过Thread创建线程
 *
 *
 *  创建线程的步骤：
 *         1）定义一个Thread类的子类，并重写run()方法，该run()方法的方法体，就代表线程需要完成的任务，因此把run方法称为线程的执行体
 *         2）创建Thread子类的实例，即创建了线程对象
 *         3）调用线程对象start()方法来启动该线程
 *
 *  多线程的本质：
 *         是改变代码的执行方式，宏观上来说是并发执行，而传统的执行方法是顺序执行，是一条语句执行完在执行下一条
 *
 */
public class ThreadDemo extends Thread {
    @Override
    public void run() {
        for (int i = 0; i<20;i++){
            //Thread.currentThread().getName() 获取当前线程名称
            System.out.println(Thread.currentThread().getName()+":"+ i);
        }
    }

    public static void main(String[] args) {
        //创建线程对象1
        ThreadDemo threadDemo1 = new ThreadDemo();
        //创建线程对象2
        ThreadDemo threadDemo2 = new ThreadDemo();

        System.out.println("---------传统的顺序执行---------");
        threadDemo1.run();
        threadDemo2.run();

        System.out.println("---------线程的并发执行---------");
        //启动线程
        threadDemo1.start();
        threadDemo2.start();


    }
}
